﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BusinessLayer.Interfaces;
using BusinessLayer.Implementacion;
using EntityLayer;
namespace pryTransfinter.Transaciones
{
    public partial class wfrmActualizarBeneficiario : System.Web.UI.Page
    {
        IFacadeGestionarTransferencia blGestionarTransferncia;
        IFacadeSolicitarTrasnferencia blSolicitarTransferencia;
        IFacadeActualizarBeneficiario blActualizarBeneficiario;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                this.cargarGrillaBeneficiario();
                
            }
        }

        void cargarGrillaBeneficiario()
        {
            //blGestionarTransferncia =new FacadeGestionarTransferencia_Imp();
blSolicitarTransferencia =new FacadeSolicitarTransferencia_Imp();
            try
            {
                grdBeneficiario.DataSource = blSolicitarTransferencia.listarBeneficiarioXCliente(Session["accionBeneficiario"].ToString());
                grdBeneficiario.DataBind();
            }
            catch (Exception ex)
            {
                popupMensajeAB.ShowOnPageLoad = true;
                lblmensaje.Text = ex.Message;
            }
        }

        protected void btnAceptarC_Click(object sender, EventArgs e)
        {
            blActualizarBeneficiario = new FacadeActualizarBeneficiario();
            if (Convert.ToInt32(Session["accionAB"])==1)
            {
                TB_Beneficiario objNewbeneficiario = new TB_Beneficiario();
                objNewbeneficiario.cuentaBeneficiario = txtCuentaBen.Text;
                objNewbeneficiario.nomBeneficiario = txtNombreBen.Text;
                objNewbeneficiario.dirBeneficiario = txtDireccionBen.Text;
                objNewbeneficiario.idcCliente = Session["accionBeneficiario"].ToString();
                if (blActualizarBeneficiario.InsertarBeneficiario(objNewbeneficiario))
                {
                    lblmensaje.Text = "Se registro correctamente.";
                    //ScriptManager.RegisterStartupScript(this, typeof(string), "OPEN_WINDOW", "mensaje();", true);
                    ClientScript.RegisterStartupScript(GetType(), "SetFocusScript", "mensaje();");
                }
                else
                {
                    lblmensaje.Text = "Ya está registrado el Beneficiario";
                    //ScriptManager.RegisterStartupScript(this, typeof(string), "OPEN_WINDOW", "mensaje();", true);
                    ClientScript.RegisterStartupScript(GetType(), "SetFocusScript", "mensaje();");
                }
            }
            if (Convert.ToInt32(Session["accionAB"])==2)
            {
                TB_Beneficiario objUpdatebeneficiario = new TB_Beneficiario();
                objUpdatebeneficiario.cuentaBeneficiario = txtCuentaBen.Text;
                objUpdatebeneficiario.nomBeneficiario = txtNombreBen.Text;
                objUpdatebeneficiario.dirBeneficiario = txtDireccionBen.Text;
                objUpdatebeneficiario.idcCliente = Session["accionBeneficiario"].ToString();
                if (blActualizarBeneficiario.ModificarBeneficiario(objUpdatebeneficiario))
                {
                    lblmensaje.Text = "Se actualizo correctamente.";
                    //ScriptManager.RegisterStartupScript(this, typeof(string), "OPEN_WINDOW", "mensaje();", true);
                    ClientScript.RegisterStartupScript(GetType(), "SetFocusScript", "mensaje();");
                }
                else
                {
                    lblmensaje.Text = "Error al actualizar";
                    //ScriptManager.RegisterStartupScript(this, typeof(string), "OPEN_WINDOW", "mensaje();", true);
                    
                }
            }
             if (Convert.ToInt32(Session["accionAB"]) == 3)
            {
                TB_Beneficiario objDeletebeneficiario = new TB_Beneficiario();
                objDeletebeneficiario.cuentaBeneficiario = txtCuentaBen.Text;
                objDeletebeneficiario.nomBeneficiario = txtNombreBen.Text;
                objDeletebeneficiario.dirBeneficiario = txtDireccionBen.Text;
                objDeletebeneficiario.idcCliente = Session["accionBeneficiario"].ToString();
                if (blActualizarBeneficiario.EliminarBeneficiario(objDeletebeneficiario))
                {
                    lblmensaje.Text = "Se eliminó correctamente.";
                    //ScriptManager.RegisterStartupScript(this, typeof(string), "OPEN_WINDOW", "mensaje();", true);
                    ClientScript.RegisterStartupScript(GetType(), "SetFocusScript", "mensaje();");
                }
                else
                {
                    lblmensaje.Text = "Error al eliminar registro.";
                    //ScriptManager.RegisterStartupScript(this, typeof(string), "OPEN_WINDOW", "mensaje();", true);
                    ClientScript.RegisterStartupScript(GetType(), "SetFocusScript", "mensaje();");
                }
            }
             popupMensajeAB.ShowOnPageLoad = true;
            this.cargarGrillaBeneficiario();
            this.cleanControls();
        }

        protected void btnModificarB_Click(object sender, EventArgs e)
        {
            Session["accionAB"]=2;
            lblconfirmacion.Text = "Esta seguro de actualizar el registro seleccionado.";
            //popupConfirmarAB.ShowOnPageLoad = true;
            
        }

        protected void btnAgregarB_Click(object sender, EventArgs e)
        {
            Session["accionAB"] = 1;
            lblconfirmacion.Text = "Esta seguro de registrar los datos ingresados.";
            //popupConfirmarAB.ShowOnPageLoad = true;
            
        }

        protected void btnEliminarB_Click(object sender, EventArgs e)
        {
            Session["accionAB"] = 3;
            lblconfirmacion.Text = "Esta seguro de eliminar el registro seleccionado.";
            //popupConfirmarAB.ShowOnPageLoad = true;
            
        }

        protected void btnCerrar_Click(object sender, EventArgs e)
        {
            Response.Redirect("~/Index.aspx");
        }

        protected void grdBeneficiario_FocusedRowChanged(object sender, EventArgs e)
        {
            string cuenta = Convert.ToString(grdBeneficiario.GetRowValues(grdBeneficiario.FocusedRowIndex, "cuentaBeneficiario"));
            string nombre = Convert.ToString(grdBeneficiario.GetRowValues(grdBeneficiario.FocusedRowIndex, "nomBeneficiario"));
            string direccion = Convert.ToString(grdBeneficiario.GetRowValues(grdBeneficiario.FocusedRowIndex, "dirBeneficiario"));
            if (!IsPostBack)
            {
                return;
            }
            txtCuentaBen.Text = cuenta;
            txtNombreBen.Text = nombre;
            txtDireccionBen.Text = direccion;
        }

        void cleanControls()
        {
            txtCuentaBen.Text = string.Empty;
            txtNombreBen.Text = string.Empty;
            txtDireccionBen.Text = string.Empty;
        }
    }
}